﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NetalBase.Base;

namespace RmProto.Automata.TA
{
	public class TestAutomaton : AutomatonBase<ITA, ITAEventPoint, TADataPoint>, ITA, ITAEventPoint
	{
		#region States
		readonly Ts Ts;
		readonly Ti Ti;
		readonly Tf Tf;
		#endregion

		#region ITA Members

		public virtual void e_TA_init(ITA ta)
		{
			s_s(Ts, Ti);
		}

		public virtual void e_TA_run()
		{
			s_s(Ti, Tf);
		}

		#endregion

		#region ITADataPoint Members

		public ITA TA
		{
			get;
			set;
		}

		#endregion

		public TestAutomaton()
		{
			Ts = createInitState<Ts>();
			Ti = createState<Ti>();
			Tf = createFinalState<Tf>();
		}
	}
}
